package algorithm.t202112;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;

/**
 * @author : 李红磊
 * @version :1.0
 * @date : 2021/12/2 15:03
 * @description :4道
 * 今天参加了《计算机科学与技术专业“毕业实习动员暨毕业实习安排会》，大概就是几个人组成一组，然后一起写一个项目报告，大概就这样了，哥们当一手主持人的。今天看
 通知是12月22后离校，唉，基本寒假就绝对去酷渲实习了，其他似乎也没有更好的地方实习了，涨点经验，简历上写一笔，明年春招，冲冲冲，签下小米！！！！艹，干。
 persevere to last
 2021.12.2
 李红磊
 2021年12月2日21:05:38
 */
public class t20211202 {

    //506.相对名次
    public String[] findRelativeRanks(int[] score) {
        int[] tes = {11, 1, 1};
        int[] copy = Arrays.copyOf(tes, tes.length);
        return null;
    }

    //968.监控二叉树
    public int minCameraCover(TreeNode root) {
        return 0;
    }

    //720.词典中最长的单词
    public String longestWord(String[] words) {
        return null;

    }

    public int lengthOfLongestSubstring(String s) {
        if(s==null||s.length()==0)return 0;
        if(s.length()==1)return 1;
        HashMap<Character,Integer> map=new HashMap<>();
        map.put(s.charAt(0),0);
        int slow=0,fast=1,len=s.length();
        int ans=1;
        while(slow<len&&fast<len){
            if(map.containsKey(s.charAt(fast))){
                if(map.get(s.charAt(fast))>=slow){
                    slow=map.get(s.charAt(fast))+1;
                    ans=Math.max(ans,fast-slow+1);
                }
            }
            map.put(s.charAt(fast),fast);
            ans=Math.max(ans,fast-slow+1);
            fast++;


        }
        return ans;
    }

    public static void main(String[] args) {
        t20211202 t20211202 = new t20211202();
        System.out.println(t20211202.lengthOfLongestSubstring("abcabcbb"));

    }

}

//232.用栈实现队列
class MyQueue {

    public MyQueue() {

    }

    public void push(int x) {

    }

    public int pop() {
        return 0;
    }

    public int peek() {
        return 0;
    }

    public boolean empty() {
        return true;
    }
}
